/**
 * 创建订单明细入参
 */
export interface CreateOrderDetailParam {
  /**
   * 订单Id
   */
  orderId: string;

  /** 明细集合 */
  orderDetailList: OrderDetailParam[];
}

/** 订单明细 */
export interface OrderDetailParam {
  orderDetailNumber: string;
  /**
   * 商品Id
   */
  commodityId?: string;

  /**
   * 商品名称
   */
  commodityName?: string;

  /**
   * 商品数量
   */
  commodityCount: number;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 是否外采
   */
  isOffshoreProcurement: number;

  /**
   * 外采单据
   */
  offshoreProcurementReceipts: string;
}

/**
 * 创建订单入参
 */
export interface CreateOrderParam {
  /**
   * 订单名称
   */
  orderName: string;

  /**
   * 订单代码
   */
  orderNumber?: string;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 客户名称
   */
  customersName?: string;

  /**
   * 客户Id
   */
  customersId?: string;

  /**
   * 订单备注
   */
  orderRemark?: string;
}

/**
 * 审核订单明细入参
 */
export interface PreviewOrderDetailsParam {
  /**
   * 审核Id集合
   */
  orderDetailPreviewIdList: string[];

  /**
   * 审核状态 1-审核通过 2-审核不通过
   */
  previewStatus: number;

  /**
   * 审核备注 （审核不通过时不能为空）
   */
  previewRemark?: string;
}

/** 查询我的订单列表参数（带分页） */
export interface QueryMyOrderListParam {
  /**
   * 开始时间
   */
  startDate?: string;

  /**
   * 结束时间
   */
  endDate?: string;

  /**
   * 订单Id
   */
  orderId?: string;

  /** 订单编号 */
  orderNUmber: string;

  /** 订单名称 */
  orderName: string;

  /**
   * 订单最小金额
   */
  minAmount?: number;

  /**
   * 订单最大金额
   */
  maxAmount?: number;

  /**
   * 订单状态 0-待完成  1-已完成 -1-已作废
   */
  orderStatus?: number;

  /**
   * 客户名称
   */
  customersName?: string;
}

/**
 * 查询订单明细参数
 */
export interface QueryOrderDetailListParam {
  /**
   * 订单Id
   */
  orderId: string;

  /**
   * 商品名称
   */
  commodityName?: string;

  /**
   * 是否外采
   */
  isOffshoreProcurement?: number;

  /**
   * 状态 0-待审核 1-已审核
   */
  status?: number;
}

/**
 * 获取订单列表参数
 */
export interface QueryOrderListParam {
  /**
   * 开始时间
   */
  startDate?: string;

  /**
   * 结束时间
   */
  endDate?: string;

  /**
   * 订单Id
   */
  orderId?: string;

  /** 订单编号 */
  orderNUmber: string;

  /** 订单名称 */
  orderName: string;

  /**
   * 订单最小金额
   */
  minAmount?: number;

  /**
   * 订单最大金额
   */
  maxAmount?: number;

  /**
   * 订单状态 0-待完成  1-已完成 -1-已作废
   */
  orderStatus?: number;

  /**
   * 客户名称
   */
  customersName?: string;

  /**
   * 创建人员
   */
  createUserName?: string;
}

/**
 * 查询审核的订单明细
 */
export interface QueryPreviewOrderDetailListParam {
  /**
   * 开始时间
   */
  startDate?: string;

  /**
   * 结束时间
   */
  endDate?: string;

  /**
   * 订单Id
   */
  orderId?: string;

  /**
   * 审核状态 0-待审核 1-审核通过 2-审核拒绝
   */
  previewStatus: number;

  /**
   * 审核人
   */
  previewUserName?: string;
}

export interface EditOrderInfoParam {
  /** 订单Id */
  orderId: string;
  /**
   * 订单名称
   */
  orderName: string;

  /**
   * 订单编号
   */
  orderNumber?: string;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 客户名称
   */
  customersName?: string;

  /**
   * 客户Id
   */
  customersId?: string;

  /**
   * 订单备注
   */
  orderRemark?: string;
}

export interface EditOrderStatusParam {
  /** 订单Id */
  orderId: string;
  /** 订单状态 */
  orderStatus: number;
}

export interface QueryOrderResult {
  /**
   * 订单Id 主键
   */
  orderId: string;

  /**
   * 订单名称
   */
  orderName?: string;

  /**
   * 订单编码
   */
  orderNumber?: string;

  /**
   * 总金额
   */
  totalAmount?: number;

  /**
   * 成本
   */
  cost?: number;

  /**
   * 利润
   */
  profit?: number;

  /**
   * 订单状态 0-已创建 1-已提交 2-已审核 3-已完成 -1-已作废
   */
  orderStatus?: number;

  /**
   * 客户名称
   */
  customersName?: string;

  /**
   * 客户Id
   */
  customersId?: string;

  /**
   * 订单备注
   */
  orderRemark?: string;

  /**
   * 创建人员
   */
  createUserName?: string;

  /**
   * 创建人员Id
   */
  createUserId?: string;

  /**
   * 创建时间
   */
  createDate?: Date;
}

export interface HxOrderDetail {
  /**
   * 订单明细Id
   */
  orderDetailId: string;

  /**
   * 订单Id
   */
  orderId: string;

  /**
   * 商品Id
   */
  commodityId?: string;

  /**
   * 商品名称
   */
  commodityName?: string;

  /**
   * 商品数量
   */
  commodityCount: number;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 状态 0-待审核 1-已审核
   */
  status: number;

  /**
   * 是否外采 0-否 1-是
   */
  isOffshoreProcurement: number;

  /**
   * 外采单据
   */
  offshoreProcurementReceipts?: string;

  /**
   * 创建时间
   */
  createDate: Date;

  /**
   * 创建人员Id
   */
  createUserId: string;

  /**
   * 创建人员姓名
   */
  createUserName: string;

  /**
   * 审核人员
   */
  previewUserName?: string;

  /**
   * 审核人员Id
   */
  previewUserId?: string;

  /**
   * 审核时间
   */
  previewDate?: Date;
}

export interface HxOrderDetailPreview {
  /**
   * 订单明细审核ID
   */
  orderDetailPreviewId: string;

  /**
   * 订单ID
   */
  orderId: string;

  /**
   * 订单明细ID
   */
  orderDetailId: string;

  /**
   * 创建时间
   */
  createDate: Date;

  /**
   * 审核状态 0-待审核 1-审核通过 2-审核不通过
   */
  previewStatus: number;

  /**
   * 审核人名称
   */
  previewUserName?: string;

  /**
   * 审核人ID
   */
  previewUserId?: string;

  /**
   * 审核时间
   */
  previewDate?: Date;

  /**
   * 审核备注
   */
  previewRemark?: string;
}

export interface HxOrder {
  /**
   * 订单Id 主键
   */
  orderId: string;

  /**
   * 订单名称
   */
  orderName?: string;

  /**
   * 订单编码
   */
  orderNumber?: string;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 订单状态 0-已创建 1-已提交 2-已审核 3-已完成 -1-已作废
   */
  orderStatus: number;

  /**
   * 客户名称
   */
  clientName?: string;

  /**
   * 客户Id
   */
  clientId?: string;

  /**
   * 订单备注
   */
  orderRemark?: string;

  /**
   * 创建人员
   */
  createUserName?: string;

  /**
   * 创建人员Id
   */
  createUserId?: string;

  /**
   * 创建时间
   */
  createDate: Date;
}

export interface OrderPreviewList {
  /**
   * 订单明细审核ID
   */
  orderDetailPreviewId: string;

  /**
   * 审核状态 0-待审核 1-审核通过 2-审核不通过
   */
  previewStatus: number;

  /**
   * 订单ID
   */
  orderId: string;

  /**
   * 审核人ID
   */
  previewUserId?: string;

  /**
   * 审核人名称
   */
  previewUserName?: string;

  /**
   * 订单明细ID
   */
  orderDetailId: string;

  /** 订单明细编号 */
  orderDetailNumber: string;

  /** 订单名称 */
  orderName: string;
  /** 订单编号 */
  orderNumber: string;

  /** 审核备注 */
  previewRemark: string;

  /**
   * 总金额
   */
  totalAmount: number;

  /**
   * 商品名称
   */
  commodityName?: string;

  /**
   * 商品数量
   */
  commodityCount: number;

  /**
   * 商品ID
   */
  commodityId?: string;

  /**
   * 是否外采 0-否 1-是
   */
  isOffshoreProcurement: number;

  /**
   * 外采单据
   */
  offshoreProcurementReceipts?: string;

  /**
   * 创建人员ID
   */
  createUserId: string;

  /**
   * 创建人员姓名
   */
  createUserName: string;

  /**
   * 创建时间
   */
  createDate: Date;
}
